Predictive diagnostic system in a programmable automaton

ABSTRACT

The invention relates to a diagnostic system which involves the use of a piece of observed information ( 5 ) coming from a process ( 1 ) monitored by a programmable automaton ( 10 ). The diagnostic system comprises: an observation module ( 30 ) which collects, at input, the information observed ( 5 ) and delivers, at output, a piece of processed information ( 35 ) to a learning module ( 40 ); and a detection module ( 20 ) which collects, at input, the observed information ( 5 ) in order to apply a detection process ( 21 ) thereto comprising a diagnostic function ( 45 ), which comes from the learning module ( 40 ), in order to deliver a diagnostic result ( 25 ) at output. The observation module ( 30 ) and the detection module ( 20 ) are executed by the processing unit ( 11 ) of the programmable automaton ( 10 ) in the form of function units in accordance with standard IEC 1131-3. The learning module ( 40 ) elaborates the diagnostic function ( 45 ) using an algorithm based on neural networks or on fuzzy logic.

[0001] This invention relates to a diagnostic system made fromobservation of one or several signals coming from a process to bemonitored. This diagnostic system is embedded in a programmable logiccontroller and may be applicable to any automation assembly comprisingat least one programmable logic controller designed to control and/ormonitor a process in the field of industrial process automation,building automation or monitoring/control of electrical distributionnetworks. The invention also relates to a diagnostic process used insuch a diagnostic system.

[0002] Automated processes are usually controlled and monitored byprogrammable logic controllers, the main role of which is to acquireinformation from the process (input signals), to run an applicationprogram (also called the user program) using this information so as tooutput orders and commands to the process (output signals). Systemscapable of making a diagnostic, and particularly a predictive diagnosticcapable of anticipating the occurrence of a failure or a defect, are nowfrequently required so that this type of automated process can bemonitored better. These systems firstly facilitate planning andoptimisation of maintenance operations, and secondly minimize risks ofstoppages or incidents in the process, thus contributing to safety andefficiency of the automation.

[0003] However, a reliable predictive diagnostic is frequently difficultto achieve since it may require a difficult selection among the manyparameters of the process to be monitored while using complex algorithmsnecessary to satisfactorily make a model of the process. This model thenuses large scale computer means, with high processing power and largememory capacity, that are difficult to integrate in programmable logiccontrollers. Furthermore, computer languages that are usually used toimplement these algorithms are very different from the languages usuallyused in automation application programs, like those satisfying standardIEC1131-3.

[0004] Therefore, the purpose of the invention is to design a diagnosticsystem that can easily be built into a programmable logic controller.Furthermore, the system is designed to make a predictive diagnostic on aprocess that cannot be modelled mathematically. To achieve this, theresult of the diagnostic will be related to observation of one orseveral simple process signals, on which learning will be done and onwhich an attempt will be made to recognize changes that can be used topredict the occurrence of an event or a fault in the process. Based onthe observed signals and selected samples, this type of system will alsobe capable of evaluating a probability of the presence of a defect, forexample between a minimum value corresponding to normal operation of themonitored process and a maximum value corresponding to a proven defectin the monitored process.

[0005] The part used for observation and detection is necessarilyembedded in the programmable logic controller. The learning part thatwill use a detection algorithm determined based on observed data, canalso be embedded in the programmable logic controller if its capacitiesare sufficient, or it could also be embedded in a different computerequipment capable of communicating with the programmable logiccontroller so as to avoid overloading the processing unit or theprogrammable logic controller memory. In this case, the learning partwould interface with the operator through dialogue means connected tothe logic controller.

[0006] To achieve this, the invention describes a diagnostic system madefrom information observed from a process monitored by a programmablelogic controller. This programmable logic controller is provided with atleast one processing unit to run an application program stored instorage means in the programmable logic controller. The diagnosticsystem is characterised in that it comprises:

[0007] an observation module stored in said storage means and run by theprocessing unit of the programmable logic controller, collecting theobserved information as input, to apply an observation processing to it,in order to output a processed information representative of theobserved information,

[0008] a learning module, generating a diagnostic function from severalitems of processed information received from the observation moduleduring a determined time period,

[0009] a detection module, stored in said storage means and run by theprocessing unit of the programmable logic controller, collecting theobserved information as input, to apply a detection processing to itcomprising the diagnostic function derived from the learning module, inorder to output a diagnostic result.

[0010] The observed information comprises one or several analogue and/ordigital signals supplied by the detection means connected to theprogrammable logic controller.

[0011] The diagnostic system according to the invention also comprises adetection module stored in the storage means, run by the processing unitof the programmable logic controller, collecting the observedinformation as input, to apply a detection processing to it comprising adiagnostic function output from the learning module, in order to outputa diagnostic result.

[0012] The observation module and the detection module are integratedinto the application program in the form of one or several functionblocks, according to the meaning defined in standard IEC1131-3. Thesefunction blocks may themselves be written in one of the languagesdefined by standard IEC1131-3, or in another language, for example the Clanguage.

[0013] The invention also describes a predictive diagnostic processimplemented by such a diagnostic system. The process includes anobservation step in which the observation module reads the observedinformation, applies an observation processing to the observedinformation and transmits processed information to the learning module,a learning step in which the learning module generates a diagnosticfunction from the processed information, a loading step in which thelearning module transfers the generated diagnostic function into thedetection module, an interpretation step in which the detection modulereads the observed information, applies a detection processing to theobserved information including the diagnostic function, and outputs adiagnostic result.

[0014] Other features and advantages will be seen in the detaileddescription given below with reference to an embodiment set out as anexample and represented in the attached drawings on which:

[0015]FIG. 1 shows a functional diagram of the diagnostic system inaccordance with the invention,

[0016]FIG. 2 shows the steps in the diagnostic process used in theinvention,

[0017]FIG. 3 shows the simulation step of the diagnostic process ingreater detail.

[0018] With reference to FIG. 1, a programmable logic controller 10comprises at least one processing unit 11 adapted to run an applicationprogram (or user program) stored in storage means 12 of the programmablelogic controller 10, in a known manner. One of the main functions ofthis application program is to control and monitor a process 1, forexample belonging to the field of industrial process automation,building automation or monitoring/control of electrical distributionnetworks. The programmable logic controller 10 comprises one or severalinput/output modules not shown in FIG. 1, firstly for acquisition ofinput information (for example of the On/Off, analogue or counting type)originating from process sensors 1 and secondly for supplying orders andcommands to pre-actuators and actuators of the process 1 as output.

[0019] The programmable logic controller 10 may also be equipped withmodules or other communication means in order to connect it to any thirdparty equipment such as a dialogue terminal or a computer network orequipment.

[0020] The storage means 12 are composed of volatile and non-volatilememories, for example RAM memory, FLASH memory or REPROM memory or anyother storage means such as PCMCIA cards.

[0021] The application program of a programmable logic controller 10 isusually written in one or several automation languages which inparticular include Ladder Diagrams, Sequential Function Charts, FunctionBlocks or text language. These automation languages are advantageouslyconform with standard IEC1131-3, so as to facilitate programming by anautomation designer who does not necessarily have a detailed knowledgeof computer languages.

[0022] The diagnostic system described in the present inventioncomprises an observation module 30 run by the processing unit 11 of theprogrammable logic controller 10. This observation module 30 is storedin the storage means 12. It may be in the form of one or severalfunction blocks according to standard IEC1131-3, so that it canadvantageously be integrated in the application program of theprogrammable logic controller 10. Observed information 5 output from theprocess 1 to be monitored is input to the observation module 30 throughinput modules with the programmable logic controller 10. The observedinformation 5 preferably comprises one or several analogue and/ordigital signals output by detection means 4 for monitoring the process1. These detection means 4 may be composed of one or several sensorsconnected to the programmable logic controller 10 and that will makemeasurement or state acquisitions relative to the process 1.

[0023] The observed information 5 is usually subjected to preliminaryprocessing 13 so as to perform filtering, calibration, scaling or anyother operation on this raw information. The preliminary processing maybe done by hardware means that may or may not be integrated in theprogrammable logic controller 10 or by software means 13 stored in thestorage means 12 as shown in the example in FIG. 1. The observedinformation 5 derived from this preliminary processing 13 is then sentto the observation module 30 and to the detection module 20.

[0024] The observation module 30 comprises an observation processing 31applied to the observed information 5 in order to supply the observationmodule 30 with processed information 35 representative of the observedinformation 5 as output. In particular, depending on the applicationtype, the observation processing 31 may include an event dating functionto attach a precise time dating to the observed information 5 or ausable data formatting function.

[0025] The processed information 35 is sent to a learning module 40 thatmemorises it. According to a first variant of the invention shown inFIG. 1, the learning module 40 is run in equipment separate from theprogrammable logic controller 10, for example a PC type computerequipment. This computer equipment must then be capable of communicatingwith the programmable logic controller 10 through a module or anothermeans of communication with the programmable logic controller 10.

[0026] According to a second similar variant not shown in the figures,it is also possible to embed the learning module 40 in the programmablelogic controller 10. The learning module 40 is then for exampleintegrated in the central unit of the programmable logic controller, ina dedicated module or in a coprocessor specific to the programmablelogic controller 10, provided with a processing unit and specificstorage means and an operator dialogue interface, the communicationbetween the dedicated module and the programmable logic controller thenbeing made through the logic controller back panel bus. The choicebetween either of the two variants is made particularly as a function ofthe power of the programmable logic controller 10 and its capacity tohost a learning module 40.

[0027] The learning module 40 stores data supplied by the receivedprocessed information 35. An operator can then display the data thusstored using an adapted operator dialogue interface. The operatorselects the data sequences that he considers are relevant to therequired diagnostic, to build a reference sample.

[0028] The searched diagnostic may indifferently be either the detectionof abnormal operation at the process to be monitored, or a calculationof the probability of normal operation, or preferably detection of thefuture occurrence of events or defects, possibly sorted by type, thussupplying a predictive diagnostic of the process. The number of datasequences to be selected depends on the diagnostic searched and the typeof algorithm used for detection in the learning module. The processedinformation 35 may thus be observed continuously or during one orseveral determined time periods (called observation time windows) thatdepend on the observed process and that the user will choose as aparameter of the observation module 30.

[0029] When the sample is considered satisfactory with regard to theprocess to be monitored and the algorithm used for detection, theoperator asks for the learning module 40 to perform a diagnosticfunction 45, and this diagnostic function will then be transferred intothe storage means 12 of the programmable logic controller 10. Thealgorithm used in the learning module 40 to generate the diagnosticfunction 45 is a digital learning type algorithm, in other words analgorithm that uses previously observed digital data. This algorithm maybe selected among a library of several algorithms accessible to thelearning module 40. For example, the chosen algorithm integrates atechnology based on neural networks or a technology based on fuzzylogic. The number of samples necessary, the calculation method, thevalidation process and the diagnostic function, depend on the technologyof the algorithm chosen. The calculation of the diagnostic function 45may require major computer means that are not necessarily compatiblewith the means of a programmable logic controller 10. Therefore, one ofthe advantages of the invention is to enable a simple programmable logiccontroller to make a predictive diagnostic using a possibly complexalgorithm, without necessarily being limited by the constraintsgenerated by the calculation and the development of the diagnosticfunction in the processing unit 11. Another advantage of the inventionis to provide the possibility of using existing learning softwareavailable on PC type computer equipment as a function of the technologyof the algorithm chosen, to generate the diagnostic function 45.

[0030] The diagnostic system also comprises a detection module 20 run bythe processing unit 11. This detection module 20 is stored in thestorage means 12. It may be in the form of one or several functionblocks as defined for standard IEC1131-3, so that it can advantageouslybe integrated in the application program of the programmable logiccontroller 10. Similarly, the detection module 20 could also beintegrated with the observation module 30 in the same function block.The role of the detection module 20 is to read the observed information5 derived from the process 1, and to apply detection processing 21 to itso as to supply a diagnostic result 25 as output. The detectionprocessing 21 includes the diagnostic function 45 generated and loadedfrom the learning module 40 in the storage means 12. The diagnosticfunction 45 may be stored in several forms, for example as a compiledfunction to be run on the logic controller, or in the form of terms of apolynomial function included in the detection processing 21.

[0031] The diagnostic result 25 is sent to a result interpretationmodule 50 and may be in the form of a message, a determined valueassigned to one or several variable(s) or in any other form that can beused by the result interpretation module 50. This module may perform apredefined action when it receives the result of the diagnostic. Apredefined action may include signalling an alarm, generating a command,sending a message, etc. The result interpretation module 50 mayindifferently be located inside or outside the programmable logiccontroller 10.

[0032] With reference to FIG. 2, the diagnostic system thus describeduses a predictive diagnostic process that includes the following steps.

[0033] An observation step A in which the observation module 30 readsthe observed information 5 necessary to be able to make the requireddiagnostic on the process 1. In general, information 5 originating fromprocess 1 is physically read by an input/output module that writes themeasured value in an input/output RAM in the programmable logiccontroller 10. In this case, the observation module 30 reads thecontents of this input/output memory. The observed information 5 iscomposed of one or several signals for which it is estimated thatvariations may enable the required diagnostic. The observation module 30applies the observation processing 31 to this observed information 5, totransmit processed information 35 to the learning module 40.

[0034] A learning step B in which the learning module 40 generates adiagnostic function 45 from several items of processed information 35stored in the learning module 40, using a selected detection algorithm.During this step, operator assistance is necessary to choose the rightprocessed information that should be used for the required diagnostic.

[0035] A loading step C in which the diagnostic function 45 generated bythe learning module 40 is transferred in the storage means 12 of theprogrammable logic controller 10 and is integrated into the detectionmodule 20 so that it can be run by the processing unit 11.

[0036] An interpretation step D in which the detection module 20 readsthe observed information 5, using the input/output memory. A detectionprocessing 21 including the diagnostic function 45 is applied to thisobserved information 5 so as to output a diagnostic result 25 to theresult interpretation module 50. This interpretation step D correspondsto operational functioning of the diagnostic system.

[0037] The process also comprises a simulation step E indicated in FIG.3, for testing execution of the detection module 20 of the programmablelogic controller 10, particularly during debugging phases. During thisstep E, the learning module 40 sends a test sample 6 to the detectionmodule 20, this test sample 6 replacing the observed information 5output from the process 1 and usually being chosen by the operator. Thediagnostic processing 21 is applied to this test sample 6 in order tooutput a result of the diagnostic test 26 that is then analysed.Therefore, it is possible to simulate particular situations that couldoccur at the process 1, to study the behaviour of the detection module20 in these precise cases without disturbing operation of the process,thus very much facilitating debugging of the diagnostic system.

[0038] In one preferred embodiment, the observation module 30 and thedetection module 20 may be run by the processing unit 11 in parallel,these two modules having access to the same observed information 5 readin the input/output memory after the preliminary processing 13, andprovided that a first diagnostic function 45 has already been loaded inthe detection module 20. Thus, while the diagnostic system is inoperational functioning, the learning module 40 can continue to receiveprocessed information 35 so that an operator can continue to refine thediagnostic function or to find new data sequences in relation with arequired diagnostic. This provides considerable flexibility of use ofthe described invention, thus giving the operator considerable latitudeto use and especially to improve and refine the diagnostic system evenafter it is operational, without disturbing operation of the automatedprocess. The observation step A and the learning step B may becontinuous or may be surrounded by observation time windows configuredby the operator in the learning module 40.

[0039] According to one variant, the observation module 30 and thedetection module 20 can be integrated into a dedicated module in theprogrammable logic controller 10, provided with a specific processingunit, specific storage means and access to the programmable logiccontroller input/output memory. This dedicated module is capable ofexecuting the observation module 30 and the detection module 20, torelieve the load on the processing unit 11 of the programmable logiccontroller 10.

[0040] Obviously, it would be possible to imagine other variants andimprovements to detail and even to envisage the use of equivalent meanswithout going outside the framework of the invention.

1. Diagnostic system made from observed information (5) from a process(1) monitored by a programmable logic controller (10) provided with atleast one processing unit (11) to run an application program stored instorage means (12) in the programmable logic controller (10),characterised in that the diagnostic system comprises: an observationmodule (30), stored in said storage means (12) and run by the processingunit (11), collecting the observed information (5) as input, to apply anobservation processing (31) to the observed information (5), in order tooutput a processed information (35) representative of the observedinformation (5), a learning module (40) generating a diagnostic function(45) from several items of processed information (35) received from theobservation module (30) during a determined time period, a detectionmodule (20), stored in said storage means (12) and run by the processingunit (11), collecting the observed information (5) as input, to apply tothe observed information (5) a detection processing (21) comprising thediagnostic function (45) derived from the learning module (40), in orderto output a diagnostic result (25).
 2. Diagnostic system in accordancewith claim 1, characterised in that the observed information (5)comprises one or several analogue and/or digital signals supplied by thedetection means (4) connected to the programmable logic controller (10).3. Diagnostic system in accordance with claim 1, in which theapplication program of the programmable logic controller (10) is writtenin one or several languages conform with standard IEC1131-3,characterised in that the observation module (30) and the detectionmodule (20) are integrated in the application program in the form of oneor several function blocks as defined for standard IEC1131-3. 4.Diagnostic system in accordance with claim 3, characterised in that thelearning module (40) is run by a computer equipment separate from theprogrammable logic controller (10), capable of communicating with theprogrammable logic controller (10).
 5. Diagnostic system in accordancewith claim 3, characterised in that the learning module (40) is embeddedin the programmable logic controller (10).
 6. Diagnostic system inaccordance with claim 3, characterised in that the observationprocessing (31) includes an event dating function.
 7. Diagnostic systemin accordance with claim 3, characterised in that the learning module(40) generates the diagnostic function (45) by using an algorithm basedon neural networks.
 8. Diagnostic system in accordance with claim 3,characterised in that the learning module (40) generates the diagnosticfunction (45) by using an algorithm based on fuzzy logic.
 9. Predictivediagnostic process used by a diagnostic system in accordance with one ofthe above claims, characterised in that it includes the following steps:An observation step (A) in which the observation module (30) reads theobserved information (5), applies an observation processing (31) to theobserved information (5) and transmits a processed information (35),representative of the observed information (5), to the learning module(40), learning step (B) in which the learning module (40) generates adiagnostic function (45) from several items of processed information(35), A loading step (C) in which the learning module (40) transfers thegenerated diagnostic function (45) into the detection module (20), Aninterpretation step (D) in which the detection module (20) reads theobserved information (5), applies a detection processing (21) to theobserved information (5), comprising the diagnostic function (45), andoutputs a diagnostic result (25).
 10. Predictive diagnostic process inaccordance with claim 9, characterised in that it also comprises asimulation step (E) in which the detection module (20) receives as inputa test sample (6) from the learning module (40), applies the detectionprocessing (21) to the test sample (6) and outputs a diagnostic testresult (26).
 11. Predictive diagnostic process in accordance with claim9, characterised in that the observation step (A) and the interpretationstep (D) may be run in parallel by the processing unit (11) in theprogrammable logic controller (10).